package com.information.manage.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.information.manage.basic.common.result.Result;
import com.information.manage.model.entity.ManuDO;
import com.information.manage.model.query.AddManuQuery;
import com.information.manage.model.query.ManuQuery;
import com.information.manage.model.query.UpdateManuQuery;
import com.information.manage.model.vo.StatisticDepartmentUploadVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface ManuService extends IService<ManuDO> {

    Result<Long> add(AddManuQuery addManuQuery, HttpServletRequest request, List<MultipartFile> enclosures);

    Result<Boolean> updateAf(HttpServletRequest request, UpdateManuQuery updateManuQuery, List<MultipartFile> enclosures);

    Result<Boolean> delete(List<Long> ids);

    Result<List<String>> getFileEnclosurePath(Long id);

    Result<Page<ManuDO>> findPage(HttpServletRequest request, ManuQuery manuQuery);

    Result<List<StatisticDepartmentUploadVO>> statisticDepartmentUpload(Integer days, Integer auditStatus);

    ManuDO findById(Long id);
}
